Pragmatic Strategies for Variability Management in Software Product Lines
نویسنده
چکیده
Setting up and stabilizing reusable core assets for a family of similar products is the first step towards reuse via software Product Line (SPL) approach. Additional variation mechanisms are applied to help in configuring and customizing core assets during reuse-based derivation of custom products. Initially, companies tend to adopt simple variation mechanisms such as preprocessing, parameter files and build tools. For relatively small SPLs, say with core assets in range of 50 KLOC, this strategy works well. However, as the size of core assets grows and the impact of features spreads through core assets, application of multiple, and usually incompatible variation mechanisms becomes increasingly difficult. In the tutorial, we analyze the above problems. We present XVCL [1][9], a variation mechanism that replaces the need for multiple, ad hoc variation mechanism. XVCL alleviates identified problems and provides a complete, one-stop solution for variability management in SPLs. We illustrate XVCL applications, evaluate its merits and trade-offs. 1. Software Product Line (SPL) background If you deploy multiple software product variants to variety of customers, you can benefit from software Product Line (SPL) approach [3][4]. SPL can help you cut effort in both new product development, and in maintenance of the growing number of product variants released to customers. Figure 1 shows a family of RolePlaying games such as DigGem or Hunt running on different brands/models of mobile phones. All such games are similar, but each game also has some unique characteristics, related to game functionality or to mobile phone features. SPL is about systematic reuse of core assets across a family of similar software products. Core assets include design blueprints (software architecture), code components, documentation (models, technical documentation, use manuals), test cases any software artifacts that are typically produced during software development and maintenance. Reuse of all such software assets can be beneficial in terms of development/maintenance productivity and product standardization. Climb Feeding DigGem Hunt Nokia E65 Nokia E70 Nokia E90 W890i W910i Motorola .... RPGs
منابع مشابه
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Software variability management is a key challenge in developing software product lines and deriving products from the product line. In order to provide effective variability management and product derivation in software product lines, which is capable of being automated, certain fundamental building blocks are required. These include multiple product line views, the feature model as the unifyi...
متن کاملStrategies for variability transformation at run-time
More and more approaches propose to use Software Product Lines (SPLs) modelling techniques to implement dynamic adaptive systems. The resulting Dynamic Software Product Lines (DSPLs) present new challenges since the variability transformations used to derive alternative configurations have to be intensively used at runtime. This paper proposes to use the Common Variability Language (CVL) for mo...
متن کاملSoftware Product Line Engineering - Foundations, Principles, and Techniques
software product line engineering page d'accueil / lirmm software product line engineering foundations principles software product line engineering foundations principles software product line engineering foundations principles software product line engineering foundations principles free download software product line engineering model-based product line engineering software product line engin...
متن کاملManaging Product Line Variability by Patterns
Software product lines have a demonstrated potential for cost-effective development of software families. Product lines have to support and coordinate variabilities between the different members of the product family. However, it is also known that the management of these variabilities and the concurrent evolution of product line architecture and single products are still challenging tasks [1]....
متن کامل